## Bugs
def get_bug_ids(self):
- query = self.db.query("SELECT bug_id FROM builds_bugs \
- WHERE build_id = %s", self.id)
-
- return [b.bug_id for b in query]
-
- def add_bug(self, bug_id, user=None, log=True):
- # Check if this bug is already in the list of bugs.
- if bug_id in self.get_bug_ids():
- return
+ return self.data.bug_ids
- self.db.execute("INSERT INTO builds_bugs(build_id, bug_id) \
- VALUES(%s, %s)", self.id, bug_id)
+ def set_bug_ids(self, bug_ids):
+ self._set_attribute("bug_ids", bug_ids or [])
- # Log the event.
- if log:
- self.log("bug_added", user=user, bug_id=bug_id)
-
- def rem_bug(self, bug_id, user=None, log=True):
- self.db.execute("DELETE FROM builds_bugs WHERE build_id = %s AND \
- bug_id = %s", self.id, bug_id)
-
- # Log the event.
- if log:
- self.log("bug_removed", user=user, bug_id=bug_id)
+ bug_ids = property(get_bug_ids, set_bug_ids)
async def get_bugs(self):
- bugs = self.get_bug_ids()
-
- return await self.backend.bugzilla.get_bugs(bugs)
+ return await self.backend.bugzilla.get_bugs(self.bug_ids)
def _update_bugs_helper(self, repo):
"""
distro_id integer NOT NULL,
owner_id integer,
priority integer DEFAULT 0 NOT NULL,
- deleted boolean DEFAULT false NOT NULL
+ deleted boolean DEFAULT false NOT NULL,
+ bug_ids integer[] DEFAULT ARRAY[]::integer[] NOT NULL
);
ALTER TABLE public.builds OWNER TO pakfire;
---
--- Name: builds_bugs; Type: TABLE; Schema: public; Owner: pakfire
---
-
-CREATE TABLE public.builds_bugs (
- id integer NOT NULL,
- build_id integer NOT NULL,
- bug_id integer NOT NULL
-);
-
-
-ALTER TABLE public.builds_bugs OWNER TO pakfire;
-
---
--- Name: builds_bugs_id_seq; Type: SEQUENCE; Schema: public; Owner: pakfire
---
-
-CREATE SEQUENCE public.builds_bugs_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1;
-
-
-ALTER TABLE public.builds_bugs_id_seq OWNER TO pakfire;
-
---
--- Name: builds_bugs_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: pakfire
---
-
-ALTER SEQUENCE public.builds_bugs_id_seq OWNED BY public.builds_bugs.id;
-
-
--
-- Name: builds_bugs_updates; Type: TABLE; Schema: public; Owner: pakfire
--
ALTER TABLE ONLY public.builds ALTER COLUMN id SET DEFAULT nextval('public.builds_id_seq'::regclass);
---
--- Name: builds_bugs id; Type: DEFAULT; Schema: public; Owner: pakfire
---
-
-ALTER TABLE ONLY public.builds_bugs ALTER COLUMN id SET DEFAULT nextval('public.builds_bugs_id_seq'::regclass);
-
-
--
-- Name: builds_bugs_updates id; Type: DEFAULT; Schema: public; Owner: pakfire
--
ADD CONSTRAINT idx_2197988_primary PRIMARY KEY (id);
---
--- Name: builds_bugs idx_2198002_primary; Type: CONSTRAINT; Schema: public; Owner: pakfire
---
-
-ALTER TABLE ONLY public.builds_bugs
- ADD CONSTRAINT idx_2198002_primary PRIMARY KEY (id);
-
-
--
-- Name: builds_bugs_updates idx_2198008_primary; Type: CONSTRAINT; Schema: public; Owner: pakfire
--
CREATE UNIQUE INDEX idx_2197988_uuid ON public.builds USING btree (uuid);
---
--- Name: idx_2198002_build_id; Type: INDEX; Schema: public; Owner: pakfire
---
-
-CREATE UNIQUE INDEX idx_2198002_build_id ON public.builds_bugs USING btree (build_id, bug_id);
-
-
--
-- Name: idx_2198018_build_id; Type: INDEX; Schema: public; Owner: pakfire
--
ADD CONSTRAINT builders_history_user_id FOREIGN KEY (user_id) REFERENCES public.users(id);
---
--- Name: builds_bugs builds_bug_build_id; Type: FK CONSTRAINT; Schema: public; Owner: pakfire
---
-
-ALTER TABLE ONLY public.builds_bugs
- ADD CONSTRAINT builds_bug_build_id FOREIGN KEY (build_id) REFERENCES public.builds(id);
-
-
--
-- Name: builds_comments builds_comments_build_id; Type: FK CONSTRAINT; Schema: public; Owner: pakfire
--